import fieldTypes from '../../utils/field-types-desc';

const fieldType = fieldTypes.find(({ code }) => code === 'droptime') || {};

export default {
    attributes: [
        {
            params: 'v-model',
            des: '绑定值',
            type: fieldType.valueType,
            values: '-',
            defaultVal: '-',
        },
        {
            params: 'props',
            des: '表单元素配置; 详细配置请查看下方【props 配置项】',
            type: 'Object',
            values: '-',
            defaultVal: '-',
            details: [
                {
                    title: '配置项【props】',
                    configList: [
                        {
                            params: 'type',
                            des: `表单项控件的类型(此控件的 type 固定为 "${fieldType.code}")`,
                            type: 'String',
                            values: '-',
                            defaultVal: '-',
                        },
                        {
                            params: 'value',
                            des: '表单项控件的默认值，若绑定值为空，将获取该值作为初始值',
                            type: fieldType.valueType,
                            values: '-',
                            defaultVal: '-',
                        },
                        {
                            params: 'size',
                            des: '尺寸大小',
                            type: 'String',
                            values: '"large" | "default" | "small"',
                            defaultVal: '"default"',
                        },
                        {
                            params: 'disabled',
                            des: '是否禁用',
                            type: 'Boolean',
                            values: 'true | false',
                            defaultVal: 'false',
                        },
                        {
                            params: 'editable',
                            des: '文本框是否可输入',
                            type: 'Boolean',
                            values: 'true | false',
                            defaultVal: 'true',
                        },
                        {
                            params: 'placeholder',
                            des: '输入框占位提示',
                            type: 'String',
                            values: '-',
                            defaultVal: '"请选择"',
                        },
                        {
                            params: 'startPlaceholder',
                            des: '范围选择控件的起始时间的占位提示',
                            type: 'String',
                            values: '-',
                            defaultVal: '"请选择"',
                        },
                        {
                            params: 'endPlaceholder',
                            des: '范围选择控件的结束时间的占位提示',
                            type: 'String',
                            values: '-',
                            defaultVal: '"请选择"',
                        },
                        {
                            params: 'rangeSeparator',
                            des: '范围选择控件的分隔符',
                            type: 'String',
                            values: '-',
                            defaultVal: '"-"',
                        },
                        {
                            params: 'clearable',
                            des: '是否展示清空图标',
                            type: 'Boolean',
                            values: 'true | false',
                            defaultVal: 'true',
                        },
                        {
                            params: 'isRange',
                            des: '是否为时间范围选择',
                            type: 'Boolean',
                            values: 'true | false',
                            defaultVal: 'false',
                        },
                        {
                            params: 'start',
                            des: '开始时间',
                            type: 'String',
                            values: '-',
                            defaultVal: '"00:00"',
                        },
                        {
                            params: 'end',
                            des: '结束时间',
                            type: 'String',
                            values: '-',
                            defaultVal: '"23:59"',
                        },
                        {
                            params: 'step',
                            des: '间隔时间',
                            type: 'String',
                            values: '-',
                            defaultVal: '"00:30"',
                        },
                        {
                            params: 'minTime',
                            des: '最早时间点，早于该时间的时间段将被禁用',
                            type: 'String',
                            values: '-',
                            defaultVal: '-',
                        },
                        {
                            params: 'maxTime',
                            des: '最晚时间点，晚于该时间的时间段将被禁用',
                            type: 'String',
                            values: '-',
                            defaultVal: '-',
                        },
                        {
                            params: 'format',
                            des: '绑定值及输入框展示值的格式化规则',
                            type: 'String',
                            values: '请查阅 【Date 日期时间及区间选择】 控件内的格式化规则',
                            defaultVal: 'HH:mm',
                        },
                        {
                            params: 'effect',
                            des: 'Tooltip 主题，内置了 "dark" | "light" 两种主题',
                            type: 'String',
                            values: '"dark" | "light"',
                            defaultVal: '"light"',
                        },
                        {
                            params: 'prefixIcon',
                            des: '自定义前缀图标',
                            type: 'String | Component',
                            values: '-',
                            defaultVal: '"Date"',
                        },
                        {
                            params: 'unit',
                            des: '控件尾部的单位文案配置',
                            type: 'String',
                            values: '-',
                            defaultVal: '-',
                        },
                    ],
                },
            ],
        },
    ],
    events: [
        {
            name: 'change',
            des: '输入框失焦后值内容修改触发的事件',
            params: '({ value, label, data }, props)',
        },
        {
            name: 'focus',
            des: '输入框聚焦事件',
            params: '(value, props, event)',
        },
        {
            name: 'blur',
            des: '输入框失焦事件',
            params: '(value, props, event)',
        },
        {
            name: 'clear',
            des: '点击清空图标，清空输入框的值后抛出的事件',
            params: '(value, props)',
        },
    ],
    slots: [],
    refs: [],
};
